草庐IT

vs2019 offline

全部标签

c++ - VS2015 与 VS2013 中的不同优化导致浮点异常

我有一个从VS2013到VS2015的过渡过程中出现的问题的小例子。在VS2015中进一步提到代码示例导致浮点无效操作。intmain(){unsignedintenableBits=_EM_OVERFLOW|_EM_ZERODIVIDE|_EM_INVALID;_clearfp();_controlfp_s(0,~enableBits,enableBits);intcount=100;floatarray[100];for(inti=0;i这只发生在Release模式下,所以它可能是由不同的优化引起的。此代码有问题还是VS2015中的错误?很难在整个代码库中找到像这样的问题,所以我正

c++ - 添加卡萨布兰卡依赖 VS2017

我最近升级到VS2017,我希望开始做更多的C++工作。我已经有很长一段时间没有使用VS或C++了(甚至那时我还是一个C++新手)。我正在尝试安装Casablanca,又名CPPRestSdk(https://github.com/Microsoft/cpprestsdk),但我似乎无法管理它。我试过通过NuGet安装它,但我不确定我必须链接到我的项目的确切内容,我试过vcpkg-我已经通过说明下载到它,但我不知道是什么在那里做。我为此找到的所有Material都适用于早期的VS版本,但在我尝试时似乎不起作用。有没有人有这样的运气让这个工作?如果没有,我可以使用具有清晰安装说明的替代方

c++ - 隐式转换产生 "error: taking address of temporary"(GCC vs clang)

在试验强类型整数时,我遇到了一个来自GCC8.2的奇怪错误:error:takingaddressoftemporary我可以想象上述错误有意义的典型场景,但在我的情况下我没有遇到问题。重现错误的缩小(人为)示例如下:#include#includeenumclassEnum:std::size_t{};structPod{std::size_tval;constexproperatorEnum()const{returnstatic_cast(val);}};templateconstexprvoidfoo(){usingFoo=std::integral_constant;//[G

c++ - FFMpeg vs. OpenCV 格式转换/简单转换

我必须创建一个可以实时处理图像的系统。我已经用C++实现了一个像素格式转换系统,它也可以进行一些简单的转换(目前:旋转和镜像)。系统的输入/输出格式为以下格式的帧:RGB(24,32)YUYV420,YUYV422JPG原始灰度例如,一个操作可以是:YUYV422->旋转90->水平翻转->RGB24灰度->旋转270->垂直翻转->YUYV420该系统的目标是为旋转/镜像和像素格式转换提供最佳性能。我当前的实现依赖于OpenCV,但在处理超过2k分辨率的数据时我遇到了性能问题。当前的实现使用cv::Mat和cv::transpose/cv::flip/cv::cvtColor,我优化

c++ - VS2008 C++ 编译器一直要求构建项目

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Visualstudiokeepsbuildingeverything我有一个项目包含一个idl文件,该文件生成一个.c文件,该文件包含在同一项目的另一个文件中。我构建了这个项目,一切正常,然后我尝试运行该项目,我被告知该项目已过时,我想构建它吗?如果我选择是来构建它,则会再次编译idl。如果不将VS项目设置设置为从不提示我进行构建,是否有任何方法可以停止此操作?

c++ - VS2010 Ultimate 中的代码覆盖率和 Profiling 命令行工具

我可以运行这些命令来生成.coverage文件以获得代码覆盖率结果。vsinstr-coveragehelloclass.exe/exclude:std::*vsperfcmd/start:coverage/output:run.coveragehelloclassvsperfcmd/shutdown我可以使用相同的工具来获取分析报告吗?如果可以,我该怎么做?如果没有,VS2010中有哪些工具可用于分析? 最佳答案 分析使用与代码覆盖相同的工具集,但命令略有不同。通过分析,您可以进行检测和样本分析。对于检测分析(最类似于代码覆盖):

c++ - 有没有一种在 VS 中构建预编译 header 的方法不会使我的代码难以在 GCC 中构建?

过去,我在VC中使用预编译头文件来加快编译时间,但通常只在基本上只是一个小源代码目录的较小项目中使用。由于VC++要求所有文件都包含完全相同的header,而不管路径如何(比如“foo.h”而不是“../foo.h”),当你有不同的源代码嵌套目录时,事情就会变得很棘手。如果我所有的文件只是#include"foo.h"它可以工作,但只有当我打开预编译头文件时。为了在所有情况下都能正常工作,我需要制作虚拟的foo.h文件#include"../foo.h"这很快就会变得荒谬,尤其是当您有多个级别时。尽管我通常更喜欢Microsoft工具,但我不得不说GCC的系统(您可以手动将header

c++ - 如何配置 VS2010 代码生成功能?

抱歉,如果这已经涵盖,或者最好在另一个stackoverflow属性中询问...我正在寻找一种方法来控制如何在VS2010中处理C++中的样板“创建新类”。当前,创建一个新的类X,父类Y生成X.h#include"Y.h"classX:publicY{public:X(void);virtual~X(void);}X.cpp#include"StdAfx.h"#include"X.h"X::X(void){}X::~X(void){}我希望每个(void)都变成()。我假设必须有一个生成上述代码的模板文件?有谁知道它在哪里,覆盖它的正确程序是什么? 最佳答案

c++ - 在 VS2010 中使用 Boost.Pool - 链接器错误

Boost.Pooldocumentation说(强调我的):TheBoostPoollibraryisaheader-onlylibrary.Thatmeansthereisno.lib,.dll,or.sotobuild;justaddtheBoostdirectorytoyourcompiler'sincludefilepath,andyoushouldbegoodtogo!但是当我尝试在VS2010SP1中编译这样的代码时:#include#include#includeintmain(){typedefstd::basic_string,boost::pool_allocat

c++ - 绕过自动生成的赋值运算符(VS bug?)

采用以下代码:classFoo{Fooconst&operator=(Fooconst&rhs);//disallow};structBar{public:Foofoo;templateTconst&operator=(Tconst&rhs){returnrhs;}};structBaz:publicBar{usingBar::operator=;};intmain(){Bazb1,b2;b1=b2;}编译失败是因为将使用自动生成的Bar::operator=赋值运算符,它会尝试使用私有(private)的Foo::operator=。还行吧。所以我在Bar中添加了一个额外的成员:Ba